#ifndef T12_INC_FLASH_H_
#define T12_INC_FLASH_H_

#ifdef __cplusplus
extern "C" {
#endif

#include "main.h"

#define DEFAULT_FLASH_START_ADDR 0x08008000

/**
 * @brief  flash读取函数
 * @param  faddr: 起始地址
 * @return uint16_t: 数据
 */
uint16_t FLASH_ReadHalfWord(uint32_t faddr);

/**
 * @brief  flash读取函数据函数
 * @param  ReadAddr: 起始地址
 * @param  pBuffer: 数据指针
 * @param  NumToRead: 半字(16位)数
 */
void Flash_ReadData(uint32_t ReadAddr, uint16_t *pBuffer, uint16_t NumToRead);

/**
 * @brief
 * @param  addr: 起始地址
 * @param  data: 数据指针
 * @param  Size: 数据大小
 */
void Flash_WriteData(uint32_t addr, uint16_t *data, uint16_t Size);

#ifdef __cplusplus
}
#endif

#endif // T12_INC_FLASH_H_
